In multi-cloud environments that offer services such as server less computing services, data intensive workloads are often implemented over multiple devices, each located within a different cloud (that is possibly located in different geographical locations). Typically, there is a cost function (expressed either in terms of resource utilization and/or monetary value) associated with transitioning workloads from one network component in one cloud environment to another network component in another cloud environment. Accordingly, there is a need for optimizing workload placement across various clouds in order to minimize transit costs and provide optimal performance.